package com.entmanage.base.hrm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.entmanage.common.annotation.Excel;
import com.entmanage.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 员工证书子对象 hrm_employee_certificate
 *
 * @author lsq
 * @date 2025-09-02
 */
@ApiModel(value = "HrmEmployeeCertificate", description = "员工证书子对象")
public class HrmEmployeeCertificate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    @ApiModelProperty(value = "")
    private Long certId;

    /** 员工ID */
    @Excel(name = "员工ID")
    @ApiModelProperty(value = "员工ID")
    private Long empId;

    /** 证书名称 */
    @Excel(name = "证书名称")
    @ApiModelProperty(value = "证书名称")
    private String certName;

    /** 证书类型 */
    @Excel(name = "证书类型")
    @ApiModelProperty(value = "证书类型")
    private String certType;

    /** 证书编号 */
    @Excel(name = "证书编号")
    @ApiModelProperty(value = "证书编号")
    private String certNumber;

    /** 发证机构 */
    @Excel(name = "发证机构")
    @ApiModelProperty(value = "发证机构")
    private String issuingAuthority;

    /** 颁发日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "颁发日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "颁发日期")
    private Date issueDate;

    /** 到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "到期日期")
    private Date expiryDate;

    /** 状态(0有效 1过期 2作废) */
    @Excel(name = "状态(0有效 1过期 2作废)")
    @ApiModelProperty(value = "状态(0有效 1过期 2作废)")
    private String certStatus;

    /** 附件路径 */
    @Excel(name = "附件路径")
    @ApiModelProperty(value = "附件路径")
    private String attachment;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /** 删除逻辑标识 */
    @ApiModelProperty(value = "删除逻辑标识")
    private String delFlag;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    public void setCertId(Long certId)
    {
        this.certId = certId;
    }

    public Long getCertId()
    {
        return certId;
    }
    public void setEmpId(Long empId)
    {
        this.empId = empId;
    }

    public Long getEmpId()
    {
        return empId;
    }
    public void setCertName(String certName)
    {
        this.certName = certName;
    }

    public String getCertName()
    {
        return certName;
    }
    public void setCertType(String certType)
    {
        this.certType = certType;
    }

    public String getCertType()
    {
        return certType;
    }
    public void setCertNumber(String certNumber)
    {
        this.certNumber = certNumber;
    }

    public String getCertNumber()
    {
        return certNumber;
    }
    public void setIssuingAuthority(String issuingAuthority)
    {
        this.issuingAuthority = issuingAuthority;
    }

    public String getIssuingAuthority()
    {
        return issuingAuthority;
    }
    public void setIssueDate(Date issueDate)
    {
        this.issueDate = issueDate;
    }

    public Date getIssueDate()
    {
        return issueDate;
    }
    public void setExpiryDate(Date expiryDate)
    {
        this.expiryDate = expiryDate;
    }

    public Date getExpiryDate()
    {
        return expiryDate;
    }
    public void setCertStatus(String certStatus)
    {
        this.certStatus = certStatus;
    }

    public String getCertStatus()
    {
        return certStatus;
    }
    public void setAttachment(String attachment)
    {
        this.attachment = attachment;
    }

    public String getAttachment()
    {
        return attachment;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("certId", getCertId())
                .append("empId", getEmpId())
                .append("certName", getCertName())
                .append("certType", getCertType())
                .append("certNumber", getCertNumber())
                .append("issuingAuthority", getIssuingAuthority())
                .append("issueDate", getIssueDate())
                .append("expiryDate", getExpiryDate())
                .append("certStatus", getCertStatus())
                .append("attachment", getAttachment())
                .append("remarks", getRemarks())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .toString();
    }
}
